package com.example.demo.model.mapper;

import com.example.demo.common.QueryParameter;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 集中管理非单表操作的SQL
 *
 * @author yuanzheng
 */
@Mapper
public interface CommonMapper {

    /**
     * 执行传递的SQL语句
     *
     * @param sql SQL语句
     */
    void executeSql(String sql);

    /**
     * 根据参数查询数据
     *
     * @param queryParameter 查询参数
     * @return 查询结果
     */
    List<Map<Object, Object>> testQuery(QueryParameter queryParameter);

    /**
     * 根据参数查询数据
     *
     * @param queryParameter 查询参数
     * @return 查询结果
     */
    List<Map<Object, Object>> testQueryMySql(QueryParameter queryParameter);

    /**
     * 执行查询语句
     *
     * @param sql 查询语句
     * @return 查询结果
     */
    List<Map<Object, Object>> executeQuerySql(String sql);
}
